package top.jybill.dao;

import org.springframework.stereotype.Repository;
import top.jybill.domain.MyPageInfo;
import top.jybill.domain.MyUser;
import top.jybill.domain.Permission;
import top.jybill.domain.Role;

import java.util.List;

/**
 * 角色dao
 */
@Repository
public interface IRoleDao {
  /**
   * 根据用户id查询所有角色
   * @param uid
   * @return
   */
  List<Role> findRoleById(String uid);

  /**
   * 查询所有角色信息
   * @return
   */
  List<Role> findAllRoles();

  /**
   * 根据page信息查询出Roles集合
   * @param page
   * @return
   */
  List<Role> findRolesByPage(MyPageInfo page);

  /**
   * 添加角色并绑定权限
   * @param role
   */
  void addRole(Role role);

  /**
   * 删除角色
   * @param rid
   */
  void delRole(String rid);

  /**
   * 根据角色id查询出当前角色
   * @param rid
   * @return
   */
  Role findRoleByRid(String rid);

  /**
   * 根据角色id更新该角色
   * @param role
   */
  void updateRole(Role role);
}
